1. Field of the Invention
The present invention relates generally to global positioning system (GPS) technology. In particular, the present invention relates to a design of a GPS receiver.
2. Discussion of the Related Art
GPS is a satellite-based radio navigation system. Each GPS satellite, also called a space vehicle (SV), broadcasts time-tagged ranging signals and navigation data, providing signal transmit time, ephemeris (i.e., the SV's orbital parameters) and almanac (i.e., reduced-precision orbital parameters of all SV's in the GPS constellation) to GPS receivers. Each SV is identified by a unique pseudo-random noise (PRN) code that is embedded in its transmitted signal.
A GPS receiver extracts the signal transmit time from each of the satellites it tracks. For each satellite, the difference between the time the satellite's signal is received, as determined by the receiver's clock, and the time the signal is transmitted from the satellite is the apparent transit time. The apparent distance between the satellite and the GPS receiver (“pseudorange”) is the product of this apparent transit time and the speed of light in a vacuum. An accurate position of the satellite can be calculated based on a valid ephemeris broadcast by the satellite. When there are four or more satellites in view of the GPS receiver, the GPS receiver can determine a 3-dimensional receiver position and the receiver clock bias relative to the GPS Time (GPST).
The GPS receiver uses ephemeredes and almanac data to search for visible GPS satellites. Typically, in a GPS receiver implemented on one or more integrated circuits, ephemeredes and almanac data are stored in a non-volatile memory circuit in one of the GPS receiver integrated circuits. Typically, an ephemeris contains a set of ephemeris parameters—valid over a short period of time (e.g., 4 hours)—that enable calculating the satellite's positions and velocities as a function of GPS time. Each GPS satellite broadcasts its own ephemeris as 16 Keplerian parameters as follows: (a) “toe”, which is the reference time of the ephemeris; (b) “Mo”, which is the mean anomaly at the reference time of the orbit; (c) “Δn”, which is the mean motion correction from a computed orbit, (d) “e”, which is the eccentricity of the orbit, (f) “A1/2”, which is the square root of the semi-major axis of the orbit, (g) “ΩO”, which is a longitude of an ascending node of the orbit plane at a weekly epoch, (h) “io”, which is an inclination angle at reference time, (i) “ω”, which is an argument of the perigee of the orbit, (j) “Ω” (“Omega-dot”), which is a rate of change of a right ascension, (k) “İ” (“I-dot”), which is a rate of change of an inclination angle, and (l) “Cuc”, “Cus”, “Crc”, “Crs”, “Cic”, and “Cis”, which are amplitudes of various harmonic corrections. In addition, an identifying number, called “IODE” (“Issue of Data (ephemeris)”), is assigned to each ephemeris.
Each satellite broadcasts a new ephemeris parameter set every two hours or so. An ephemeris parameter set is regarded as current, valid, or unexpired typically within the time window of ±2 hours of its reference time. Beyond this time window, the accuracies of the satellite's position and velocity, as calculated from this ephemeris, decrease. Thus, the ephemeris is typically regarded as expired outside of the time window.
Each satellite also broadcasts an almanac that gives ephemeris data at reduced precision for all satellites in the constellation (32) of GPS satellites. The time required for a satellite to transmit and for a GPS receiver to receive a complete set of almanac is 12.5 minutes. The almanac data for each satellite includes the following 8 parameters: (a) “toa”, which is reference time of the almanac, (b) “MO”, which is the mean anomaly at reference time of the satellite orbit, (c) “e”, which is the eccentricity of the orbit, (d) “A1/2”, which is the square root of the semi-major axis of the orbit, (e) “di”, which is a value that equals IO-0.3π, (f) “ω”, which is an argument of perigee, and (g) “ω” (“Omega-dot”), which is a rate of change of a right ascension. A satellite's position and velocity that are calculated from almanac data are less accurate than those calculated from an ephemeris received from the satellite. However, almanac data is typically regarded as valid for a much longer time than ephemeris data. In fact, almanac data that is up to 2 years old can still be used to determine a satellite's visibility. Typically, a week number is often attached to an almanac or ephemeris parameter set. This week number is often used to help determine whether or not the almanac or ephemeris is current (i.e., unexpired).
A GPS receiver can use ephemeris or almanac data to determine approximately when a satellite would rise above the horizon, given an approximate user position and time. When ephemeredes are unavailable or have expired, almanac data is often used to initiate a search list of possible visible satellites. The rough satellite positions and velocities calculated from almanac or ephemeris data reduce the time-to-first-fix (TTFF), as the GPS receiver starts up.
To meet demands of a GPS receiver starting under different conditions, the GPS receiver typically saves both ephemeredes and almanac data from the satellites in its on-chip non-volatile memory (e.g., an battery backed-up SRAM). So that, whenever the GPS receiver powers up from a previous shut-down, either an unexpired ephemeris or a valid almanac is available to estimate each satellite's position, so as to generate a list of visible satellites to search for.
In an advanced GPS receiver, information provided to a GPS receiver to assist it to acquire satellites is often also saved on the same non-volatile memory, which has become a scarce resource. In some designs, it may become necessary to restructure the GPS receiver hardware to obtain more space in the non-volatile memory. A space-efficient design is highly desirable.